# -*- coding: utf-8 -*-
"""
Created on Fri Aug 18 09:25:11 2023

@author: skunk69
"""

import json

chinese_name = u'中学生自我导向学习倾向性量表'
english_name = 'Self-Directed Learning Readiness Scale for Middle School Students'
abbreviation = 'SDLRS'
category = u'学习与教育量表'

outline = u"""自我导向学习（Self-Directed Learning）来源于成人教育领域，定义尚未统一。Allen Tough（1966）首先提出，认为自我导向学习是由学习者制定计划和引导学习活动的自我学习。Knowles（1975）则认为自我导向学习实际上是一种由个体自己在别人帮助下或独立发动、完成的活动过程，在这个过程中，他们自我诊断各自的学习需求，拟定各自的学习计划表，确定各自学习的人力物力资源，选择并实施各自适当的学习策略，并评价各自的学习结果。随后，Gulielmino认为自我导向学习者是能自行引发学习，具有自我训练的能力，有强烈的学习欲望和信心，能应用基本学习技巧，安排学习步骤，并利用时间完成学习计划的人。我国台湾学者邓运林（1994）对自我导向学习的定义总结归纳为，自我导向学习是一种历程，是一种能力，是一种标记和一种学习形态。20世纪80年代后，关于自我导向学习的研究创新出多种原理说、教学策略、教学途径和教学模式。近年来，国内外研究者开始尝试将自我导向学习的研究衍生到基础教育领域，并尤为关注其对青少年学业及人格发展的意义。
《中学生自我导向学习倾向性量表》是黄水、陈文峰及傅小兰在Gulielmino编制的自我导向学习倾向性量表（Self-Directed Learning Readiness Scale, SDLRS）的基础上修订而来，该修订还参考了中国台湾修订版，以期将之用于测量评价中国中学生自我导向学习的品质，探究自我导向学习品质的结构。"""

instruction = u"""请仔细阅读以下每一项目，然后依照“我没有这种想法”、“我只偶尔有此想法”、“我有一半时间有此想法”、“我有大半时间有此想法”和“我总是这么想的”五个选项，选择最符合你实际情况的一项。"""

with open('SDLRS.txt','r',encoding='utf-8') as f:
    lines = f.readlines()
    f.close()

items = {}
for key,line in enumerate(lines):
    _,value = line.strip().split('）',maxsplit=1)
    items[key+1] = value.strip()

reverse_items = []
scales = [u'主动学习',u'消极学习',u'有效学习',u'喜爱学习',u'开放学习',u'终身学习']
scales_items = [
    [2,4,7,8,10]+list(range(13,19))+[21,24,27],# 主动学习
    [3,6,9,12,19,20,22,23,29,32,53],# 消极学习
    [11,25,28,33,35,37,38,39,52,54],# 有效学习
    [1,5,41,44,50],# 喜爱学习
    [31,40,42,43]+list(range(45,50))+[51,55],# 开放学习
    [26,30,34,36],# 终身学习
    ]

# check scales_items
print(f'scale length={[len(l) for l in scales_items]}')

check = []
for l in scales_items:
    check = check+l
print(f'len(check)={len(check)}')

# complementary set
check_set = {i for i in sorted(check)}^{i for i in range(1,56)}
print(f'complementary set= {check_set}')

factors = []
factors_scales = []
rating = [u'我没有这种想法',u'我只偶尔有此想法',u'我有一半时间有此想法',
          u'我有大半时间有此想法',u'我总是这么想的']
score_rules = list(range(1,6))

contents = {
    'instruction':instruction,
    'items':items,
    'reverse_items':reverse_items,
    'scales':scales,
    'scales_items':scales_items,
    'factors':factors,
    'factors_scales':factors_scales,
    'rating':rating,
    'score_rules':score_rules       
    }

implementation = u"""《中学生自我导向学习倾向性量表》属于一个自评量表。"""

reliability = u"""正式样本为3所中学6个年级的中学生。主动学习、消极学习、有效学习、喜爱学习、开放学习和终身学习6个因子的内部一致性α系数分别为0.861，0.791，0.809，0.630，0.888和0.781，重测信度为0.934，0.826，0.854，0.637，0.943和0.902。"""
validity = u"""将样本分半，分别进行探索性因素分析和验证性因素分析，验证了六因子结构及其稳定性。
6个因子与内外控量表、学业成就归因量表和学业自我效能感量表的各因子相关介于-0.008~0.703，结果显示，自我导向学习倾向与学业自我效能感量表具有较高相关。在比较重点中学和普通中学中学生的差异时发现重点中学的学生具有较高的自我导向学习倾向性。"""
measurements = {'reliability':reliability,'validity':validity}

interpretation = u"""将各维度题目相加得到各维度分，由维度分之和得到总分。"""

applications = u"""量表具有独特的六因子结构和良好的信效度，比较可靠地测量中学生的学习特质，有助于进一步探询在儿童教育、学校教育中培养学习者自我导向学习倾向性品质的方法与途径。"""

this_scale = {
    'chinese_name':chinese_name,
    'english_name':english_name,
    'abbreviation':abbreviation,
    'category':category,
    'outline':outline,
    'contents':contents,
    'implementation':implementation,
    'measurements':measurements,
    'interpretation':interpretation,
    'applications':applications    
    }

with open(abbreviation+'.json','w+',encoding='utf-8') as f:
    json.dump(this_scale,f,indent=2,ensure_ascii=False)